//
//  YXAETransitor.h
//  YXVideoSDKDemo
//
//  Created by Makarov on 2017/7/18.
//  Copyright © 2017年 YIXIA. All rights reserved.
//

#import "YXAEApplyer.h"

@interface YXAETransitor : NSObject

- (id)initWithAEModels:(NSArray <YXVideoEffectModel *> *)models;

- (void)transitBegin:(CGFloat)progress;
- (void)transit:(CGFloat)progress;
- (void)transitCommit:(CGFloat)progress;
- (void)transitForcely:(NSInteger)index;

- (void)applyWithInputBuffer:(CMSampleBufferRef)sampleBuffer
          orGetOutputTexture:(GLuint *)outputTexture
           orGetOutputBuffer:(CVPixelBufferRef *)outputBuffer;

- (void)applyWithInputBuffer:(CVPixelBufferRef)pixelBuffer
              orInputTexture:(GLuint)texture
              withImageWidth:(GLuint)width
             withImageHeight:(GLuint)height
                        time:(CMTime)time
          orGetOutputTexture:(GLuint *)outputTexture
           orGetOutputBuffer:(CVPixelBufferRef *)outputBuffer;


@end
